package com.zyz.D_方法;

/**
 * @author: vick
 * @Date: 2025/3/13
 * @Description:
 * @version: 1.0
 */
public class SelectSort {
    public static void main(String[] args) {
        int[] arr = {1, 6, 2, 3, 8, 9, 5, 4, 7};
        SelectSort selectSort = new SelectSort();
        selectSort.sort(arr);

        for (int num : arr) {
            System.out.println(num);
        }

    }

    public void sort(int[] arr) {
        //选择当前最小值放置的位置
        for (int i = 0; i < arr.length; i++) {
            //假设当前位置的元素是最小值的索引
            int minIndex = i;
            //从 i + 1开始往后找真正的最小值
            for (int j = i + 1; j < arr.length; j++) {
                //更新最小值的索引
                minIndex = arr[minIndex] > arr[j] ? j : minIndex;
            }
            swap(arr, i, minIndex);
        }
    }

    public void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }

    protected void sout1() {
        System.out.println("sss");
    }

    private void sout2() {
        System.out.println("sss");
    }
}
